package net.TCPOneWayChat;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class OneWayChatServer {

    public static void main(String[] args) throws IOException {

        //创建一个 服务平台
        ServerSocket serverPlatform = new ServerSocket(9999);
        System.out.println("服务平台创建成功");

        //通过这个服务平台分配一个具体的个体 可以与客户端进行连接
        //是一个阻塞方法，如果没有客户端与其连接，会一直等待连接
        Socket serverSocket = serverPlatform.accept();
        //因为accept是阻塞方法，所以如果能执行到此步骤，一定是有客户端与之连接
        System.out.println("已经有客户端与服务端连接成功");


        //接收客户端发送到服务端的输入字节流，此处只能以输入字节流接收
        InputStream fromClientInputStream = serverSocket.getInputStream();
        //为了使用方便，可以把字节流通过转换流转成字符流
        InputStreamReader fromClientInputStreamReader = new InputStreamReader(fromClientInputStream);
        //为了使用更加方便，可以对字符流封装一个处理流，可以直接读取一行数据
        BufferedReader fromClientBufferedReader = new BufferedReader(fromClientInputStreamReader);

        String line;
        System.out.println("=====收到的信息=====");
        while((line=fromClientBufferedReader.readLine())!=null){

            System.out.println("客户端说:"+line);

            if(line.equals("拜拜")){
                break;
            }
        }

        //最后把数据流和socket相关的内容的资源都释放掉
        fromClientBufferedReader.close();
        fromClientInputStreamReader.close();
        fromClientInputStream.close();
        serverSocket.close();
        serverPlatform.close();

        System.out.println("与客户端的连接已断开");

    }

}
